#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <string.h>


int main(int argc, char const *argv[])
{
    //关闭标准输出 和标准错误输出
    close(STDOUT_FILENO);
    close(STDERR_FILENO);
    //正常日志文件
    open("std.log", O_CREAT|O_WRONLY|O_APPEND, 0644);
   //错误文件
    open("err.log", O_CREAT|O_WRONLY|O_APPEND, 0644);  

    //stdin输入读取
    char buf[100];
    fgets(buf, sizeof(buf), stdin);
    //将读取的内容输出到标准输出
    printf("输出buf=%s", buf);

    //使用stdout输出
    fputs("stdout的输出\n", stdout);
    //使用stderr输出
    fputs("stderr的输出\n", stderr);

    // 使用stdin_fileno读取输入
    char buf2[100];
    int len=read(STDIN_FILENO, buf2, sizeof(buf2));
    //将读取的内容输出到标准输出
    printf("buf2:%.*s",len, buf2);

    //使用STDOUT_FILENO输出
    write(STDOUT_FILENO, "STDOUT_FILENO的输出\n", strlen("STDOUT_FILENO的输出\n"));
    //使用STDERR_FILENO输出
    write(STDERR_FILENO, "STDERR_FILENO的显示错误\n", strlen("STDERR_FILENO的显示错误\n"));
    return 0;
}
